package org.csu.lestore.api.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import org.csu.lestore.api.common.CommonResponse;
import org.csu.lestore.api.entity.Account;
import org.csu.lestore.api.entity.Browse;
import org.csu.lestore.api.entity.Fav;
import org.csu.lestore.api.entity.Img;
import org.csu.lestore.api.vo.AccountVO;

public interface AccountService {
    CommonResponse<AccountVO> getAccountByUserName(String userName, String password);
    CommonResponse<AccountVO> getAccountByUserName(String userName);
    CommonResponse<AccountVO> getAccountByUserId(int userId, String password);
    CommonResponse<AccountVO> getAccountByUserId(int userId);
    CommonResponse<AccountVO> getAccountByUserTelephone(String telephoneNumber, String password);
    CommonResponse<AccountVO> getAccountByUserTelephone(String telephoneNumber);
    CommonResponse<Account> updateAccount(Account account);
    CommonResponse<AccountVO> updateAccountImg(int userId,String imgSrc);
    CommonResponse<Account> insertAccount(AccountVO accountVO);
    CommonResponse<Account> deleteAccount(int userId);
    CommonResponse<AccountVO> userNameIsExist(String userName);
    CommonResponse<AccountVO> telephoneIsExist(String telephoneNumber);
    CommonResponse<IPage<AccountVO>> getAccountListInPage(int curPage, int size);
    CommonResponse<IPage<AccountVO>> getAccountListInPage(int curPage, int size,char status);
    CommonResponse<IPage<AccountVO>> getAccountListInPageF(int curPage, int size,char status);
    AccountVO accountToAccountVO(Account account);
}
